/*
 * Electronic Logistics Management Information System (eLMIS) is a supply chain management system for health commodities in a developing country setting.
 *
 * Copyright (C) 2015  John Snow, Inc (JSI). This program was produced for the U.S. Agency for International Development (USAID). It was prepared under the USAID | DELIVER PROJECT, Task Order 4.
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.openlmis.report.model.params;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.openlmis.report.model.ReportParameter;

import java.text.DateFormat;

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class DistrictSummaryReportParam
    extends BaseParam implements ReportParameter {

  private int rgroupId;
  private String rgroup;
  private int programId;
  private String program;
  private int scheduleId;
  private String schedule;
  private Long periodId;
  private String period;
  private Integer year;
  private int zoneId;
  private String zone;


  @Override
  public String toString() {
    DateFormat dateFormatter = DateFormat.getDateInstance(DateFormat.DEFAULT);
    StringBuilder filtersValue = new StringBuilder("");
    filtersValue.append("Period : ").append(this.period).append("\n").
        append("Schedule : ").append(this.schedule).append("\n").
        append("Program : ").append(this.program).append("\n").
        append("Geographic Zone : ").append(this.zone).append("\n");
    return filtersValue.toString();
  }
}
